home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
ndupn.doc
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
2KB
From: cloos@acsu.buffalo.edu (James H. Cloos)
Newsgroups: comp.sys.handhelds,comp.sys.hp48
Subject: Small error in RPLMAN.DOC
Date: 27 Jul 91 06:21:34 GMT
Organization: State University of New York @ Buffalo
While working on my current project, I discovered an error in the
RPLMAN.DOC file that comes with the new development system. In the doc
file, the effect of the word NDUPN is listed as:
( ob #n --> ob ... ob )
but this does not happen. A better description would be:
( ob #n --> ob(1) ... ob(n) #n )
( ob #0 --> #0 )
where the parenthesized numbers indicate copies of the same ob, not
different ob's. Note that this effect can be summarized by saying:
The level 2 argument is duplicated until n copies exist (not counting any
previously in levels 3+, of course), where n is the value of the level 1
short. Said short is left on the stack. If the short is 0, then 0 copies
of the level 2 argument are left on the stack; ie., it is dropped.
The word looks like:
:: DUP#0=case SWAPDROP DUP #1- DUP#0=case DROP ZERO_DO (DO) OVER SWAP LOOP ;
which documents my revised description.
Note that this also affects the docs in the chapter on local variables and
local environments. There the code example:
NULLLAM TWENTYFOUR NDUPN TWENTYFOUR {}N BIND
must be changed to:
' NULLLAM TWENTYFOUR NDUPN {}N BIND
No flames, just a correction.
-JimC
--
James H. Cloos, Jr. Phone: +1 716 673-1250
cloos@ACSU.Buffalo.EDU Snail: PersonalZipCode: 14048-0772, USA
cloos@ub.UUCP Note: Phone & Snail to change soon!